Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class Component

    java.lang.Object
      |
      +--java.awt.Component

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable

Direct Known Subclasses:
  Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TextComponent

public abstract class Component
extends Object
implements ImageObserver, MenuContainer, Serializable

A component is an object having a graphical representation that can be displayed on the screen and that can interact with the user. Examples of components are the buttons, checkboxes, and scrollbars of a typical graphical user interface.

The `Component` class is the abstract superclass of the nonmenu-related Abstract Window Toolkit components. Class `Component` can also be extended directly to create a lightweight component. A lightweight component is a component that is not associated with a native opaque window.

### Serialization

It is important to note that only AWT listeners which conform to the `Serializable` protocol will be saved when the object is stored. If an AWT object has listeners that aren't marked serializable, they will be dropped at `writeObject` time. Developers will need, as always, to consider the implications of making an object serializable. One situation to watch out for is this:

        import java.awt.*;
        import java.awt.event.*;
        import java.io.Serializable;

        class MyApp implements ActionListener, Serializable
        {
            BigObjectThatShouldNotBeSerializedWithAButton bigOne;
            Button aButton = new Button();

            MyApp()
            {
                // Oops, now aButton has a listener with a reference
                // to bigOne!
                aButton.addActionListener(this);
            }

            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Hello There");
            }
        }

In this example, serializing `aButton` by itself will cause `MyApp` and everything it refers to to be serialized as well. The problem is that the listener is serializable by coincidence, not by design. To separate the decisions about `MyApp` and the `ActionListener` being serializable one can use a nested class, as in the following example:

        import java.awt.*;
        import java.awt.event.*;
        import java.io.Serializable;

        class MyApp java.io.Serializable
        {
             BigObjectThatShouldNotBeSerializedWithAButton bigOne;
             Button aButton = new Button();

             class MyActionListener implements ActionListener
             {
                 public void actionPerformed(ActionEvent e)
                 {
                     System.out.println("Hello There");
                 }
             }

             MyApp()
             {
                 aButton.addActionListener(new MyActionListener());
             }
        }

See Also:
  Serialized Form

Nested Class Summary
`protected class` | `Component.AccessibleAWTComponent` Inner class of Component used to provide default support for accessibility.
`protected class` | `Component.BltBufferStrategy` Inner class for blitting offscreen surfaces to a component.
`protected class` | `Component.FlipBufferStrategy` Inner class for flipping buffers on a component.

Field Summary
`static float` | `BOTTOM_ALIGNMENT` Ease-of-use constant for `getAlignmentY`.
`static float` | `CENTER_ALIGNMENT` Ease-of-use constant for `getAlignmentY` and `getAlignmentX`.
`static float` | `LEFT_ALIGNMENT` Ease-of-use constant for `getAlignmentX`.
`static float` | `RIGHT_ALIGNMENT` Ease-of-use constant for `getAlignmentX`.
`static float` | `TOP_ALIGNMENT` Ease-of-use constant for `getAlignmentY()`.

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`protected` | `Component()` Constructs a new component.

Method Summary
`boolean` | `action(Event evt, Object what)` Deprecated. As of JDK version 1.1, should register this component as ActionListener on component which fires action events.
`void` | `add(PopupMenu popup)` Adds the specified popup menu to the component.
`void` | `addComponentListener(ComponentListener l)` Adds the specified component listener to receive component events from this component.
`void` | `addFocusListener(FocusListener l)` Adds the specified focus listener to receive focus events from this component when this component gains input focus.
`void` | `addHierarchyBoundsListener(HierarchyBoundsListener l)` Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes.
`void` | `addHierarchyListener(HierarchyListener l)` Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes.
`void` | `addInputMethodListener(InputMethodListener l)` Adds the specified input method listener to receive input method events from this component.
`void` | `addKeyListener(KeyListener l)` Adds the specified key listener to receive key events from this component.
`void` | `addMouseListener(MouseListener l)` Adds the specified mouse listener to receive mouse events from this component.
`void` | `addMouseMotionListener(MouseMotionListener l)` Adds the specified mouse motion listener to receive mouse motion events from this component.
`void` | `addMouseWheelListener(MouseWheelListener l)` Adds the specified mouse wheel listener to receive mouse wheel events from this component.
`void` | `addNotify()` Makes this `Component` displayable by connecting it to a native screen resource.
`void` | `addPropertyChangeListener(PropertyChangeListener listener)` Adds a PropertyChangeListener to the listener list.
`void` | `addPropertyChangeListener(String propertyName, PropertyChangeListener listener)` Adds a PropertyChangeListener to the listener list for a specific property.
`void` | `applyComponentOrientation(ComponentOrientation orientation)` Sets the `ComponentOrientation` property of this component and all components contained within it.
`boolean` | `areFocusTraversalKeysSet(int id)` Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component.
`Rectangle` | `bounds()` Deprecated. As of JDK version 1.1, replaced by `getBounds()`.
`int` | `checkImage(Image image, ImageObserver observer)` Returns the status of the construction of a screen representation of the specified image.
`int` | `checkImage(Image image, int width, int height, ImageObserver observer)` Returns the status of the construction of a screen representation of the specified image.
`protected AWTEvent` | `coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)` Potentially coalesce an event being posted with an existing event.
`boolean` | `contains(int x, int y)` Checks whether this component "contains" the specified point, where `x` and `y` are defined to be relative to the coordinate system of this component.
`boolean` | `contains(Point p)` Checks whether this component "contains" the specified point, where the point's x and y coordinates are defined to be relative to the coordinate system of this component.
`Image` | `createImage(ImageProducer producer)` Creates an image from the specified image producer.
`Image` | `createImage(int width, int height)` Creates an off-screen drawable image to be used for double buffering.
`VolatileImage` | `createVolatileImage(int width, int height)` Creates a volatile off-screen drawable image to be used for double buffering.
`VolatileImage` | `createVolatileImage(int width, int height, ImageCapabilities caps)` Creates a volatile off-screen drawable image, with the given capabilities.
`void` | `deliverEvent(Event e)` Deprecated. As of JDK version 1.1, replaced by `dispatchEvent(AWTEvent e)`.
`void` | `disable()` Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`protected void` | `disableEvents(long eventsToDisable)` Disables the events defined by the specified event mask parameter from being delivered to this component.
`void` | `dispatchEvent(AWTEvent e)` Dispatches an event to this component or one of its sub components.
`void` | `doLayout()` Prompts the layout manager to lay out this component.
`void` | `enable()` Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`void` | `enable(boolean b)` Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`protected void` | `enableEvents(long eventsToEnable)` Enables the events defined by the specified event mask parameter to be delivered to this component.
`void` | `enableInputMethods(boolean enable)` Enables or disables input method support for this component.
`protected void` | `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)` Support for reporting bound property changes for boolean properties.
`protected void` | `firePropertyChange(String propertyName, int oldValue, int newValue)` Support for reporting bound property changes for integer properties.
`protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Support for reporting bound property changes for Object properties.
`AccessibleContext` | `getAccessibleContext()` Gets the `AccessibleContext` associated with this `Component`.
`float` | `getAlignmentX()` Returns the alignment along the x axis.
`float` | `getAlignmentY()` Returns the alignment along the y axis.
`Color` | `getBackground()` Gets the background color of this component.
`Rectangle` | `getBounds()` Gets the bounds of this component in the form of a `Rectangle` object.
`Rectangle` | `getBounds(Rectangle rv)` Stores the bounds of this component into "return value" rv and return rv.
`ColorModel` | `getColorModel()` Gets the instance of `ColorModel` used to display the component on the output device.
`Component` | `getComponentAt(int x, int y)` Determines if this component or one of its immediate subcomponents contains the (x, y) location, and if so, returns the containing component.
`Component` | `getComponentAt(Point p)` Returns the component or subcomponent that contains the specified point.
`ComponentListener[]` | `getComponentListeners()` Returns an array of all the component listeners registered on this component.
`ComponentOrientation` | `getComponentOrientation()` Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.
`Cursor` | `getCursor()` Gets the cursor set in the component.
`DropTarget` | `getDropTarget()` Gets the `DropTarget` associated with this `Component`.
`Container` | `getFocusCycleRootAncestor()` Returns the Container which is the focus cycle root of this Component's focus traversal cycle.
`FocusListener[]` | `getFocusListeners()` Returns an array of all the focus listeners registered on this component.
`Set` | `getFocusTraversalKeys(int id)` Returns the Set of focus traversal keys for a given traversal operation for this Component.
`boolean` | `getFocusTraversalKeysEnabled()` Returns whether focus traversal keys are enabled for this Component.
`Font` | `getFont()` Gets the font of this component.
`FontMetrics` | `getFontMetrics(Font font)` Gets the font metrics for the specified font.
`Color` | `getForeground()` Gets the foreground color of this component.
`Graphics` | `getGraphics()` Creates a graphics context for this component.
`GraphicsConfiguration` | `getGraphicsConfiguration()` Gets the `GraphicsConfiguration` associated with this `Component`.
`int` | `getHeight()` Returns the current height of this component.
`HierarchyBoundsListener[]` | `getHierarchyBoundsListeners()` Returns an array of all the hierarchy bounds listeners registered on this component.
`HierarchyListener[]` | `getHierarchyListeners()` Returns an array of all the hierarchy listeners registered on this component.
`boolean` | `getIgnoreRepaint()`
`InputContext` | `getInputContext()` Gets the input context used by this component for handling the communication with input methods when text is entered in this component.
`InputMethodListener[]` | `getInputMethodListeners()` Returns an array of all the input method listeners registered on this component.
`InputMethodRequests` | `getInputMethodRequests()` Gets the input method request handler which supports requests from input methods for this component.
`KeyListener[]` | `getKeyListeners()` Returns an array of all the key listeners registered on this component.
`EventListener[]` | `getListeners(Class listenerType)` Returns an array of all the objects currently registered as `FooListener`s upon this `Component`.
`Locale` | `getLocale()` Gets the locale of this component.
`Point` | `getLocation()` Gets the location of this component in the form of a point specifying the component's top-left corner.
`Point` | `getLocation(Point rv)` Stores the x,y origin of this component into "return value" rv and return rv.
`Point` | `getLocationOnScreen()` Gets the location of this component in the form of a point specifying the component's top-left corner in the screen's coordinate space.
`Dimension` | `getMaximumSize()` Gets the maximum size of this component.
`Dimension` | `getMinimumSize()` Gets the mininimum size of this component.
`MouseListener[]` | `getMouseListeners()` Returns an array of all the mouse listeners registered on this component.
`MouseMotionListener[]` | `getMouseMotionListeners()` Returns an array of all the mouse motion listeners registered on this component.
`MouseWheelListener[]` | `getMouseWheelListeners()` Returns an array of all the mouse wheel listeners registered on this component.
`String` | `getName()` Gets the name of the component.
`Container` | `getParent()` Gets the parent of this component.
`java.awt.peer.ComponentPeer` | `getPeer()` Deprecated. As of JDK version 1.1, programs should not directly manipulate peers; replaced by `boolean isDisplayable()`.
`Dimension` | `getPreferredSize()` Gets the preferred size of this component.
`PropertyChangeListener[]` | `getPropertyChangeListeners()` Returns an array of all the property change listeners registered on this component.
`PropertyChangeListener[]` | `getPropertyChangeListeners(String propertyName)` Returns an array of all the listeners which have been associated with the named property.
`Dimension` | `getSize()` Returns the size of this component in the form of a `Dimension` object.
`Dimension` | `getSize(Dimension rv)` Stores the width/height of this component into "return value" rv and return rv.
`Toolkit` | `getToolkit()` Gets the toolkit of this component.
`Object` | `getTreeLock()` Gets this component's locking object (the object that owns the thread sychronization monitor) for AWT component-tree and layout operations.
`int` | `getWidth()` Returns the current width of this component.
`int` | `getX()` Returns the current x coordinate of the components origin.
`int` | `getY()` Returns the current y coordinate of the components origin.
`boolean` | `gotFocus(Event evt, Object what)` Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
`boolean` | `handleEvent(Event evt)` Deprecated. As of JDK version 1.1 replaced by processEvent(AWTEvent).
`boolean` | `hasFocus()` Returns `true` if this `Component` is the focus owner.
`void` | `hide()` Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.
`boolean` | `imageUpdate(Image img, int infoflags, int x, int y, int w, int h)` Repaints the component when the image has changed.
`boolean` | `inside(int x, int y)` Deprecated. As of JDK version 1.1, replaced by contains(int, int).
`void` | `invalidate()` Invalidates this component.
`boolean` | `isBackgroundSet()` Returns whether the background color has been explicitly set for this Component.
`boolean` | `isCursorSet()` Returns whether the cursor has been explicitly set for this Component.
`boolean` | `isDisplayable()` Determines whether this component is displayable.
`boolean` | `isDoubleBuffered()` Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later.
`boolean` | `isEnabled()` Determines whether this component is enabled.
`boolean` | `isFocusable()` Returns whether this Component can be focused.
`boolean` | `isFocusCycleRoot(Container container)` Returns whether the specified Container is the focus cycle root of this Component's focus traversal cycle.
`boolean` | `isFocusOwner()` Returns `true` if this `Component` is the focus owner.
`boolean` | `isFocusTraversable()` Deprecated. As of 1.4, replaced by `isFocusable()`.
`boolean` | `isFontSet()` Returns whether the font has been explicitly set for this Component.
`boolean` | `isForegroundSet()` Returns whether the foreground color has been explicitly set for this Component.
`boolean` | `isLightweight()` A lightweight component doesn't have a native toolkit peer.
`boolean` | `isOpaque()` Returns true if this component is completely opaque, returns false by default.
`boolean` | `isShowing()` Determines whether this component is showing on screen.
`boolean` | `isValid()` Determines whether this component is valid.
`boolean` | `isVisible()` Determines whether this component should be visible when its parent is visible.
`boolean` | `keyDown(Event evt, int key)` Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
`boolean` | `keyUp(Event evt, int key)` Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
`void` | `layout()` Deprecated. As of JDK version 1.1, replaced by `doLayout()`.
`void` | `list()` Prints a listing of this component to the standard system output stream `System.out`.
`void` | `list(PrintStream out)` Prints a listing of this component to the specified output stream.
`void` | `list(PrintStream out, int indent)` Prints out a list, starting at the specified indentation, to the specified print stream.
`void` | `list(PrintWriter out)` Prints a listing to the specified print writer.
`void` | `list(PrintWriter out, int indent)` Prints out a list, starting at the specified indentation, to the specified print writer.
`Component` | `locate(int x, int y)` Deprecated. As of JDK version 1.1, replaced by getComponentAt(int, int).
`Point` | `location()` Deprecated. As of JDK version 1.1, replaced by `getLocation()`.
`boolean` | `lostFocus(Event evt, Object what)` Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
`Dimension` | `minimumSize()` Deprecated. As of JDK version 1.1, replaced by `getMinimumSize()`.
`boolean` | `mouseDown(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean` | `mouseDrag(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
`boolean` | `mouseEnter(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean` | `mouseExit(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean` | `mouseMove(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
`boolean` | `mouseUp(Event evt, int x, int y)` Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`void` | `move(int x, int y)` Deprecated. As of JDK version 1.1, replaced by `setLocation(int, int)`.
`void` | `nextFocus()` Deprecated. As of JDK version 1.1, replaced by transferFocus().
`void` | `paint(Graphics g)` Paints this component.
`void` | `paintAll(Graphics g)` Paints this component and all of its subcomponents.
`protected String` | `paramString()` Returns a string representing the state of this component.
`boolean` | `postEvent(Event e)` Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).
`Dimension` | `preferredSize()` Deprecated. As of JDK version 1.1, replaced by `getPreferredSize()`.
`boolean` | `prepareImage(Image image, ImageObserver observer)` Prepares an image for rendering on this component.
`boolean` | `prepareImage(Image image, int width, int height, ImageObserver observer)` Prepares an image for rendering on this component at the specified width and height.
`void` | `print(Graphics g)` Prints this component.
`void` | `printAll(Graphics g)` Prints this component and all of its subcomponents.
`protected void` | `processComponentEvent(ComponentEvent e)` Processes component events occurring on this component by dispatching them to any registered `ComponentListener` objects.
`protected void` | `processEvent(AWTEvent e)` Processes events occurring on this component.
`protected void` | `processFocusEvent(FocusEvent e)` Processes focus events occurring on this component by dispatching them to any registered `FocusListener` objects.
`protected void` | `processHierarchyBoundsEvent(HierarchyEvent e)` Processes hierarchy bounds events occurring on this component by dispatching them to any registered `HierarchyBoundsListener` objects.
`protected void` | `processHierarchyEvent(HierarchyEvent e)` Processes hierarchy events occurring on this component by dispatching them to any registered `HierarchyListener` objects.
`protected void` | `processInputMethodEvent(InputMethodEvent e)` Processes input method events occurring on this component by dispatching them to any registered `InputMethodListener` objects.
`protected void` | `processKeyEvent(KeyEvent e)` Processes key events occurring on this component by dispatching them to any registered `KeyListener` objects.
`protected void` | `processMouseEvent(MouseEvent e)` Processes mouse events occurring on this component by dispatching them to any registered `MouseListener` objects.
`protected void` | `processMouseMotionEvent(MouseEvent e)` Processes mouse motion events occurring on this component by dispatching them to any registered `MouseMotionListener` objects.
`protected void` | `processMouseWheelEvent(MouseWheelEvent e)` Processes mouse wheel events occurring on this component by dispatching them to any registered `MouseWheelListener` objects.
`void` | `remove(MenuComponent popup)` Removes the specified popup menu from the component.
`void` | `removeComponentListener(ComponentListener l)` Removes the specified component listener so that it no longer receives component events from this component.
`void` | `removeFocusListener(FocusListener l)` Removes the specified focus listener so that it no longer receives focus events from this component.
`void` | `removeHierarchyBoundsListener(HierarchyBoundsListener l)` Removes the specified hierarchy bounds listener so that it no longer receives hierarchy bounds events from this component.
`void` | `removeHierarchyListener(HierarchyListener l)` Removes the specified hierarchy listener so that it no longer receives hierarchy changed events from this component.
`void` | `removeInputMethodListener(InputMethodListener l)` Removes the specified input method listener so that it no longer receives input method events from this component.
`void` | `removeKeyListener(KeyListener l)` Removes the specified key listener so that it no longer receives key events from this component.
`void` | `removeMouseListener(MouseListener l)` Removes the specified mouse listener so that it no longer receives mouse events from this component.
`void` | `removeMouseMotionListener(MouseMotionListener l)` Removes the specified mouse motion listener so that it no longer receives mouse motion events from this component.
`void` | `removeMouseWheelListener(MouseWheelListener l)` Removes the specified mouse wheel listener so that it no longer receives mouse wheel events from this component.
`void` | `removeNotify()` Makes this `Component` undisplayable by destroying it native screen resource.
`void` | `removePropertyChangeListener(PropertyChangeListener listener)` Removes a PropertyChangeListener from the listener list.
`void` | `removePropertyChangeListener(String propertyName, PropertyChangeListener listener)` Removes a PropertyChangeListener from the listener list for a specific property.
`void` | `repaint()` Repaints this component.
`void` | `repaint(int x, int y, int width, int height)` Repaints the specified rectangle of this component.
`void` | `repaint(long tm)` Repaints the component.
`void` | `repaint(long tm, int x, int y, int width, int height)` Repaints the specified rectangle of this component within `tm` milliseconds.
`void` | `requestFocus()` Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
`protected boolean` | `requestFocus(boolean temporary)` Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
`boolean` | `requestFocusInWindow()` Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
`protected boolean` | `requestFocusInWindow(boolean temporary)` Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
`void` | `reshape(int x, int y, int width, int height)` Deprecated. As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.
`void` | `resize(Dimension d)` Deprecated. As of JDK version 1.1, replaced by `setSize(Dimension)`.
`void` | `resize(int width, int height)` Deprecated. As of JDK version 1.1, replaced by `setSize(int, int)`.
`void` | `setBackground(Color c)` Sets the background color of this component.
`void` | `setBounds(int x, int y, int width, int height)` Moves and resizes this component.
`void` | `setBounds(Rectangle r)` Moves and resizes this component to conform to the new bounding rectangle `r`.
`void` | `setComponentOrientation(ComponentOrientation o)` Sets the language-sensitive orientation that is to be used to order the elements or text within this component.
`void` | `setCursor(Cursor cursor)` Sets the cursor image to the specified cursor.
`void` | `setDropTarget(DropTarget dt)` Associate a `DropTarget` with this component.
`void` | `setEnabled(boolean b)` Enables or disables this component, depending on the value of the parameter `b`.
`void` | `setFocusable(boolean focusable)` Sets the focusable state of this Component to the specified value.
`void` | `setFocusTraversalKeys(int id, Set keystrokes)` Sets the focus traversal keys for a given traversal operation for this Component.
`void` | `setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)` Sets whether focus traversal keys are enabled for this Component.
`void` | `setFont(Font f)` Sets the font of this component.
`void` | `setForeground(Color c)` Sets the foreground color of this component.
`void` | `setIgnoreRepaint(boolean ignoreRepaint)` Sets whether or not paint messages received from the operating system should be ignored.
`void` | `setLocale(Locale l)` Sets the locale of this component.
`void` | `setLocation(int x, int y)` Moves this component to a new location.
`void` | `setLocation(Point p)` Moves this component to a new location.
`void` | `setName(String name)` Sets the name of the component to the specified string.
`void` | `setSize(Dimension d)` Resizes this component so that it has width `d.width` and height `d.height`.
`void` | `setSize(int width, int height)` Resizes this component so that it has width `width` and height `height`.
`void` | `setVisible(boolean b)` Shows or hides this component depending on the value of parameter `b`.
`void` | `show()` Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.
`void` | `show(boolean b)` Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.
`Dimension` | `size()` Deprecated. As of JDK version 1.1, replaced by `getSize()`.
`String` | `toString()` Returns a string representation of this component and its values.
`void` | `transferFocus()` Transfers the focus to the next component, as though this Component were the focus owner.
`void` | `transferFocusBackward()` Transfers the focus to the previous component, as though this Component were the focus owner.
`void` | `transferFocusUpCycle()` Transfers the focus up one focus traversal cycle.
`void` | `update(Graphics g)` Updates this component.
`void` | `validate()` Ensures that this component has a valid layout.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### TOP_ALIGNMENT

    public static final float TOP_ALIGNMENT

  Ease-of-use constant for `getAlignmentY()`. Specifies an alignment to the top of the component.

  See Also:
    `getAlignmentY()`, Constant Field Values

### CENTER_ALIGNMENT

    public static final float CENTER_ALIGNMENT

  Ease-of-use constant for `getAlignmentY` and `getAlignmentX`. Specifies an alignment to the center of the component

  See Also:
    `getAlignmentX()`, `getAlignmentY()`, Constant Field Values

### BOTTOM_ALIGNMENT

    public static final float BOTTOM_ALIGNMENT

  Ease-of-use constant for `getAlignmentY`. Specifies an alignment to the bottom of the component.

  See Also:
    `getAlignmentY()`, Constant Field Values

### LEFT_ALIGNMENT

    public static final float LEFT_ALIGNMENT

  Ease-of-use constant for `getAlignmentX`. Specifies an alignment to the left side of the component.

  See Also:
    `getAlignmentX()`, Constant Field Values

### RIGHT_ALIGNMENT

    public static final float RIGHT_ALIGNMENT

  Ease-of-use constant for `getAlignmentX`. Specifies an alignment to the right side of the component.

  See Also:
    `getAlignmentX()`, Constant Field Values

Constructor Detail

### Component

    protected Component()

  Constructs a new component. Class `Component` can be extended directly to create a lightweight component that does not utilize an opaque native window. A lightweight component must be hosted by a native container somewhere higher up in the component tree (for example, by a `Frame` object).

Method Detail

### getName

    public String getName()

  Gets the name of the component.

  Returns:
    this component's name
  Since:
    JDK1.1
See Also:
  `setName(java.lang.String)`

### setName

    public void setName(String name)

  Sets the name of the component to the specified string.

  Parameters:
    `name` - the string that is to be this component's name
  Since:
    JDK1.1
See Also:
  `getName()`

### getParent

    public Container getParent()

  Gets the parent of this component.

  Returns:
    the parent container of this component
  Since:
    JDK1.0

### getPeer

    public java.awt.peer.ComponentPeer getPeer()

  Deprecated. As of JDK version 1.1, programs should not directly manipulate peers; replaced by `boolean isDisplayable()`.

### setDropTarget

    public void setDropTarget(DropTarget dt)

  Associate a `DropTarget` with this component. The `Component` will receive drops only if it is enabled.

  Parameters:
    `dt` - The DropTarget
  See Also:
    `isEnabled()`

### getDropTarget

    public DropTarget getDropTarget()

  Gets the `DropTarget` associated with this `Component`.

### getGraphicsConfiguration

    public GraphicsConfiguration getGraphicsConfiguration()

  Gets the `GraphicsConfiguration` associated with this `Component`. If the `Component` has not been assigned a specific `GraphicsConfiguration`, the `GraphicsConfiguration` of the `Component` object's top-level container is returned. If the `Component` has been created, but not yet added to a `Container`, this method returns `null`.

  Returns:
    the `GraphicsConfiguration` used by this `Component` or `null`
  Since:
    1.3

### getTreeLock

    public final Object getTreeLock()

  Gets this component's locking object (the object that owns the thread sychronization monitor) for AWT component-tree and layout operations.

  Returns:
    this component's locking object

### getToolkit

    public Toolkit getToolkit()

  Gets the toolkit of this component. Note that the frame that contains a component controls which toolkit is used by that component. Therefore if the component is moved from one frame to another, the toolkit it uses may change.

  Returns:
    the toolkit of this component
  Since:
    JDK1.0

### isValid

    public boolean isValid()

  Determines whether this component is valid. A component is valid when it is correctly sized and positioned within its parent container and all its children are also valid. Components are invalidated when they are first shown on the screen.

  Returns:
    `true` if the component is valid, `false` otherwise
  Since:
    JDK1.0
See Also:
  `validate()`, `invalidate()`

### isDisplayable

    public boolean isDisplayable()

  Determines whether this component is displayable. A component is displayable when it is connected to a native screen resource.

  A component is made displayable either when it is added to a displayable containment hierarchy or when its containment hierarchy is made displayable. A containment hierarchy is made displayable when its ancestor window is either packed or made visible.

  A component is made undisplayable either when it is removed from a displayable containment hierarchy or when its containment hierarchy is made undisplayable. A containment hierarchy is made undisplayable when its ancestor window is disposed.

  Returns:
    `true` if the component is displayable, `false` otherwise
  Since:
    1.2
See Also:
  `Container.add(Component)`, `Window.pack()`, `Window.show()`, `Container.remove(Component)`, `Window.dispose()`

### isVisible

    public boolean isVisible()

  Determines whether this component should be visible when its parent is visible. Components are initially visible, with the exception of top level components such as `Frame` objects.

  Returns:
    `true` if the component is visible, `false` otherwise
  Since:
    JDK1.0
See Also:
  `setVisible(boolean)`

### isShowing

    public boolean isShowing()

  Determines whether this component is showing on screen. This means that the component must be visible, and it must be in a container that is visible and showing.

  Returns:
    `true` if the component is showing, `false` otherwise
  Since:
    JDK1.0
See Also:
  `setVisible(boolean)`

### isEnabled

    public boolean isEnabled()

  Determines whether this component is enabled. An enabled component can respond to user input and generate events. Components are enabled initially by default. A component may be enabled or disabled by calling its `setEnabled` method.

  Returns:
    `true` if the component is enabled, `false` otherwise
  Since:
    JDK1.0
See Also:
  `setEnabled(boolean)`

### setEnabled

    public void setEnabled(boolean b)

  Enables or disables this component, depending on the value of the parameter `b`. An enabled component can respond to user input and generate events. Components are enabled initially by default.

  Note: Disabling a lightweight component does not prevent it from receiving MouseEvents.

  Parameters:
    `b` - If `true`, this component is enabled; otherwise this component is disabled
  Since:
    JDK1.1
See Also:
  `isEnabled()`, `isLightweight()`

### enable

    public void enable()

  Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.

### enable

    public void enable(boolean b)

  Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.

### disable

    public void disable()

  Deprecated. As of JDK version 1.1, replaced by `setEnabled(boolean)`.

### isDoubleBuffered

    public boolean isDoubleBuffered()

  Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later. Component subclasses that support double buffering should override this method to return true if double buffering is enabled.

  Returns:
    false by default

### enableInputMethods

    public void enableInputMethods(boolean enable)

  Enables or disables input method support for this component. If input method support is enabled and the component also processes key events, incoming events are offered to the current input method and will only be processed by the component or dispatched to its listeners if the input method does not consume them. By default, input method support is enabled.

  Parameters:
    `enable` - true to enable, false to disable
  Since:
    1.2
See Also:
  `processKeyEvent(java.awt.event.KeyEvent)`

### setVisible

    public void setVisible(boolean b)

  Shows or hides this component depending on the value of parameter `b`.

  Parameters:
    `b` - if `true`, shows this component; otherwise, hides this component
  Since:
    JDK1.1
See Also:
  `isVisible()`

### show

    public void show()

  Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.

### show

    public void show(boolean b)

  Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.

### hide

    public void hide()

  Deprecated. As of JDK version 1.1, replaced by `setVisible(boolean)`.

### getForeground

    public Color getForeground()

  Gets the foreground color of this component.

  Returns:
    this component's foreground color; if this component does not have a foreground color, the foreground color of its parent is returned
  Since:
    JDK1.0
See Also:
  `setForeground(java.awt.Color)`

### setForeground

    public void setForeground(Color c)

  Sets the foreground color of this component.

  Parameters:
    `c` - the color to become this component's foreground color; if this parameter is `null` then this component will inherit the foreground color of its parent
  Since:
    JDK1.0
See Also:
  `getForeground()`

### isForegroundSet

    public boolean isForegroundSet()

  Returns whether the foreground color has been explicitly set for this Component. If this method returns `false`, this Component is inheriting its foreground color from an ancestor.

  Returns:
    `true` if the foreground color has been explicitly set for this Component; `false` otherwise.
  Since:
    1.4

### getBackground

    public Color getBackground()

  Gets the background color of this component.

  Returns:
    this component's background color; if this component does not have a background color, the background color of its parent is returned
  Since:
    JDK1.0
See Also:
  `setBackground(java.awt.Color)`

### setBackground

    public void setBackground(Color c)

  Sets the background color of this component.

  The background color affects each component differently and the parts of the component that are affected by the background color may differ between operating systems.

  Parameters:
    `c` - the color to become this component's color; if this parameter is `null`, then this component will inherit the background color of its parent
  Since:
    JDK1.0
See Also:
  `getBackground()`

### isBackgroundSet

    public boolean isBackgroundSet()

  Returns whether the background color has been explicitly set for this Component. If this method returns `false`, this Component is inheriting its background color from an ancestor.

  Returns:
    `true` if the background color has been explicitly set for this Component; `false` otherwise.
  Since:
    1.4

### getFont

    public Font getFont()

  Gets the font of this component.

  Specified by:
    `getFont` in interface `MenuContainer`
  Returns:
    this component's font; if a font has not been set for this component, the font of its parent is returned
  Since:
    JDK1.0
See Also:
  `setFont(java.awt.Font)`

### setFont

    public void setFont(Font f)

  Sets the font of this component.

  Parameters:
    `f` - the font to become this component's font; if this parameter is `null` then this component will inherit the font of its parent
  Since:
    JDK1.0
See Also:
  `getFont()`

### isFontSet

    public boolean isFontSet()

  Returns whether the font has been explicitly set for this Component. If this method returns `false`, this Component is inheriting its font from an ancestor.

  Returns:
    `true` if the font has been explicitly set for this Component; `false` otherwise.
  Since:
    1.4

### getLocale

    public Locale getLocale()

  Gets the locale of this component.

  Returns:
    this component's locale; if this component does not have a locale, the locale of its parent is returned
  Throws:
    `IllegalComponentStateException` - if the `Component` does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent
  Since:
    JDK1.1
See Also:
  `setLocale(java.util.Locale)`

### setLocale

    public void setLocale(Locale l)

  Sets the locale of this component. This is a bound property.

  Parameters:
    `l` - the locale to become this component's locale
  Since:
    JDK1.1
See Also:
  `getLocale()`

### getColorModel

    public ColorModel getColorModel()

  Gets the instance of `ColorModel` used to display the component on the output device.

  Returns:
    the color model used by this component
  Since:
    JDK1.0
See Also:
  `ColorModel`, `ComponentPeer.getColorModel()`, `Toolkit.getColorModel()`

### getLocation

    public Point getLocation()

  Gets the location of this component in the form of a point specifying the component's top-left corner. The location will be relative to the parent's coordinate space.

  Due to the asynchronous nature of native event handling, this method can return outdated values (for instance, after several calls of `setLocation()` in rapid succession). For this reason, the recommended method of obtaining a component's position is within `java.awt.event.ComponentListener.componentMoved()`, which is called after the operating system has finished moving the component.

  Returns:
    an instance of `Point` representing the top-left corner of the component's bounds in the coordinate space of the component's parent
  Since:
    JDK1.1
See Also:
  `setLocation(int, int)`, `getLocationOnScreen()`

### getLocationOnScreen

    public Point getLocationOnScreen()

  Gets the location of this component in the form of a point specifying the component's top-left corner in the screen's coordinate space.

  Returns:
    an instance of `Point` representing the top-left corner of the component's bounds in the coordinate space of the screen
  Throws:
    ``IllegalComponentStateException`` - if the component is not showing on the screen
  See Also:
    `setLocation(int, int)`, `getLocation()`

### location

    public Point location()

  Deprecated. As of JDK version 1.1, replaced by `getLocation()`.

### setLocation

    public void setLocation(int x,
                            int y)

  Moves this component to a new location. The top-left corner of the new location is specified by the `x` and `y` parameters in the coordinate space of this component's parent.

  Parameters:
    `x` - the x-coordinate of the new location's top-left corner in the parent's coordinate space
    `y` - the y-coordinate of the new location's top-left corner in the parent's coordinate space
  Since:
    JDK1.1
See Also:
  `getLocation()`, `setBounds(int, int, int, int)`

### move

    public void move(int x,
                     int y)

  Deprecated. As of JDK version 1.1, replaced by `setLocation(int, int)`.

### setLocation

    public void setLocation(Point p)

  Moves this component to a new location. The top-left corner of the new location is specified by point `p`. Point `p` is given in the parent's coordinate space.

  Parameters:
    `p` - the point defining the top-left corner of the new location, given in the coordinate space of this component's parent
  Since:
    JDK1.1
See Also:
  `getLocation()`, `setBounds(int, int, int, int)`

### getSize

    public Dimension getSize()

  Returns the size of this component in the form of a `Dimension` object. The `height` field of the `Dimension` object contains this component's height, and the `width` field of the `Dimension` object contains this component's width.

  Returns:
    a `Dimension` object that indicates the size of this component
  Since:
    JDK1.1
See Also:
  `setSize(int, int)`

### size

    public Dimension size()

  Deprecated. As of JDK version 1.1, replaced by `getSize()`.

### setSize

    public void setSize(int width,
                        int height)

  Resizes this component so that it has width `width` and height `height`.

  Parameters:
    `width` - the new width of this component in pixels
    `height` - the new height of this component in pixels
  Since:
    JDK1.1
See Also:
  `getSize()`, `setBounds(int, int, int, int)`

### resize

    public void resize(int width,
                       int height)

  Deprecated. As of JDK version 1.1, replaced by `setSize(int, int)`.

### setSize

    public void setSize(Dimension d)

  Resizes this component so that it has width `d.width` and height `d.height`.

  Parameters:
    `d` - the dimension specifying the new size of this component
  Since:
    JDK1.1
See Also:
  `setSize(int, int)`, `setBounds(int, int, int, int)`

### resize

    public void resize(Dimension d)

  Deprecated. As of JDK version 1.1, replaced by `setSize(Dimension)`.

### getBounds

    public Rectangle getBounds()

  Gets the bounds of this component in the form of a `Rectangle` object. The bounds specify this component's width, height, and location relative to its parent.

  Returns:
    a rectangle indicating this component's bounds
  See Also:
    `setBounds(int, int, int, int)`, `getLocation()`, `getSize()`

### bounds

    public Rectangle bounds()

  Deprecated. As of JDK version 1.1, replaced by `getBounds()`.

### setBounds

    public void setBounds(int x,
                          int y,
                          int width,
                          int height)

  Moves and resizes this component. The new location of the top-left corner is specified by `x` and `y`, and the new size is specified by `width` and `height`.

  Parameters:
    `x` - the new x-coordinate of this component
    `y` - the new y-coordinate of this component
    `width` - the new `width` of this component
    `height` - the new `height` of this component
  Since:
    JDK1.1
See Also:
  `getBounds()`, `setLocation(int, int)`, `setLocation(Point)`, `setSize(int, int)`, `setSize(Dimension)`

### reshape

    public void reshape(int x,
                        int y,
                        int width,
                        int height)

  Deprecated. As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.

### setBounds

    public void setBounds(Rectangle r)

  Moves and resizes this component to conform to the new bounding rectangle `r`. This component's new position is specified by `r.x` and `r.y`, and its new size is specified by `r.width` and `r.height`

  Parameters:
    `r` - the new bounding rectangle for this component
  Since:
    JDK1.1
See Also:
  `getBounds()`, `setLocation(int, int)`, `setLocation(Point)`, `setSize(int, int)`, `setSize(Dimension)`

### getX

    public int getX()

  Returns the current x coordinate of the components origin. This method is preferable to writing `component.getBounds().x`, or `component.getLocation().x` because it doesn't cause any heap allocations.

  Returns:
    the current x coordinate of the components origin
  Since:
    1.2

### getY

    public int getY()

  Returns the current y coordinate of the components origin. This method is preferable to writing `component.getBounds().y`, or `component.getLocation().y` because it doesn't cause any heap allocations.

  Returns:
    the current y coordinate of the components origin
  Since:
    1.2

### getWidth

    public int getWidth()

  Returns the current width of this component. This method is preferable to writing `component.getBounds().width`, or `component.getSize().width` because it doesn't cause any heap allocations.

  Returns:
    the current width of this component
  Since:
    1.2

### getHeight

    public int getHeight()

  Returns the current height of this component. This method is preferable to writing `component.getBounds().heightcomponent.getSize().height` because it doesn't cause any heap allocations.

  Returns:
    the current height of this component
  Since:
    1.2

### getBounds

    public Rectangle getBounds(Rectangle rv)

  Stores the bounds of this component into "return value" rv and return rv. If rv is `null` a new `Rectangle` is allocated. This version of `getBounds` is useful if the caller wants to avoid allocating a new `Rectangle` object on the heap.

  Parameters:
    `rv` - the return value, modified to the components bounds
  Returns:
    rv

### getSize

    public Dimension getSize(Dimension rv)

  Stores the width/height of this component into "return value" rv and return rv. If rv is `null` a new `Dimension` object is allocated. This version of `getSize` is useful if the caller wants to avoid allocating a new `Dimension` object on the heap.

  Parameters:
    `rv` - the return value, modified to the components size
  Returns:
    rv

### getLocation

    public Point getLocation(Point rv)

  Stores the x,y origin of this component into "return value" rv and return rv. If rv is `null` a new `Point` is allocated. This version of `getLocation` is useful if the caller wants to avoid allocating a new `Point` object on the heap.

  Parameters:
    `rv` - the return value, modified to the components location
  Returns:
    rv

### isOpaque

    public boolean isOpaque()

  Returns true if this component is completely opaque, returns false by default.

  An opaque component paints every pixel within its rectangular region. A non-opaque component paints only some of its pixels, allowing the pixels underneath it to "show through". A component that does not fully paint its pixels therefore provides a degree of transparency. Only lightweight components can be transparent.

  Subclasses that guarantee to always completely paint their contents should override this method and return true. All of the "heavyweight" AWT components are opaque.

  Returns:
    true if this component is completely opaque
  Since:
    1.2
See Also:
  `isLightweight()`

### isLightweight

    public boolean isLightweight()

  A lightweight component doesn't have a native toolkit peer. Subclasses of `Component` and `Container`, other than the ones defined in this package like `Button` or `Scrollbar`, are lightweight. All of the Swing components are lightweights.

  This method will always return `false` if this component is not displayable because it is impossible to determine the weight of an undisplayable component.

  Returns:
    true if this component has a lightweight peer; false if it has a native peer or no peer
  Since:
    1.2
See Also:
  `isDisplayable()`

### getPreferredSize

    public Dimension getPreferredSize()

  Gets the preferred size of this component.

  Returns:
    a dimension object indicating this component's preferred size
  See Also:
    `getMinimumSize()`, `LayoutManager`

### preferredSize

    public Dimension preferredSize()

  Deprecated. As of JDK version 1.1, replaced by `getPreferredSize()`.

### getMinimumSize

    public Dimension getMinimumSize()

  Gets the mininimum size of this component.

  Returns:
    a dimension object indicating this component's minimum size
  See Also:
    `getPreferredSize()`, `LayoutManager`

### minimumSize

    public Dimension minimumSize()

  Deprecated. As of JDK version 1.1, replaced by `getMinimumSize()`.

### getMaximumSize

    public Dimension getMaximumSize()

  Gets the maximum size of this component.

  Returns:
    a dimension object indicating this component's maximum size
  See Also:
    `getMinimumSize()`, `getPreferredSize()`, `LayoutManager`

### getAlignmentX

    public float getAlignmentX()

  Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

### getAlignmentY

    public float getAlignmentY()

  Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

### doLayout

    public void doLayout()

  Prompts the layout manager to lay out this component. This is usually called when the component (more specifically, container) is validated.

  See Also:
    `validate()`, `LayoutManager`

### layout

    public void layout()

  Deprecated. As of JDK version 1.1, replaced by `doLayout()`.

### validate

    public void validate()

  Ensures that this component has a valid layout. This method is primarily intended to operate on instances of `Container`.

  Since:
    JDK1.0
See Also:
  `invalidate()`, `doLayout()`, `LayoutManager`, `Container.validate()`

### invalidate

    public void invalidate()

  Invalidates this component. This component and all parents above it are marked as needing to be laid out. This method can be called often, so it needs to execute quickly.

  Since:
    JDK1.0
See Also:
  `validate()`, `doLayout()`, `LayoutManager`

### getGraphics

    public Graphics getGraphics()

  Creates a graphics context for this component. This method will return `null` if this component is currently not displayable.

  Returns:
    a graphics context for this component, or `null` if it has none
  Since:
    JDK1.0
See Also:
  `paint(java.awt.Graphics)`

### getFontMetrics

    public FontMetrics getFontMetrics(Font font)

  Gets the font metrics for the specified font.

  Parameters:
    `font` - the font for which font metrics is to be obtained
  Returns:
    the font metrics for `font`
  Since:
    JDK1.0
See Also:
  `getFont()`, `getPeer()`, `ComponentPeer.getFontMetrics(Font)`, `Toolkit.getFontMetrics(Font)`

### setCursor

    public void setCursor(Cursor cursor)

  Sets the cursor image to the specified cursor. This cursor image is displayed when the `contains` method for this component returns true for the current cursor location, and this Component is visible, displayable, and enabled. Setting the cursor of a `Container` causes that cursor to be displayed within all of the container's subcomponents, except for those that have a non-`null` cursor.

  Parameters:
    `cursor` - One of the constants defined by the `Cursor` class; if this parameter is `null` then this component will inherit the cursor of its parent
  Since:
    JDK1.1
See Also:
  `isEnabled()`, `isShowing()`, `getCursor()`, `contains(int, int)`, `Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String)`, `Cursor`

### getCursor

    public Cursor getCursor()

  Gets the cursor set in the component. If the component does not have a cursor set, the cursor of its parent is returned. If no cursor is set in the entire hierarchy, `Cursor.DEFAULT_CURSOR` is returned.

  Since:
    JDK1.1
See Also:
  `setCursor(java.awt.Cursor)`

### isCursorSet

    public boolean isCursorSet()

  Returns whether the cursor has been explicitly set for this Component. If this method returns `false`, this Component is inheriting its cursor from an ancestor.

  Returns:
    `true` if the cursor has been explicitly set for this Component; `false` otherwise.
  Since:
    1.4

### paint

    public void paint(Graphics g)

  Paints this component.

  This method is called when the contents of the component should be painted in response to the component first being shown or damage needing repair. The clip rectangle in the `Graphics` parameter will be set to the area which needs to be painted. Subclasses of Component that override this method need not call super.paint(g).

  For performance reasons, Components with zero width or height aren't considered to need painting when they are first shown, and also aren't considered to need repair.

  Parameters:
    `g` - the graphics context to use for painting
  Since:
    JDK1.0
See Also:
  `update(java.awt.Graphics)`

### update

    public void update(Graphics g)

  Updates this component.

  The AWT calls the `update` method in response to a call to `repaint`. The appearance of the component on the screen has not changed since the last call to `update` or `paint`. You can assume that the background is not cleared.

  The `update`method of `Component` calls this component's `paint` method to redraw this component. This method is commonly overridden by subclasses which need to do additional work in response to a call to `repaint`. Subclasses of Component that override this method should either call super.update(g), or call `paint` directly.

  The origin of the graphics context, its (`0`, `0`) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

  Parameters:
    `g` - the specified context to use for updating
  Since:
    JDK1.0
See Also:
  `paint(java.awt.Graphics)`, `repaint()`

### paintAll

    public void paintAll(Graphics g)

  Paints this component and all of its subcomponents.

  The origin of the graphics context, its (`0`, `0`) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

  Parameters:
    `g` - the graphics context to use for painting
  Since:
    JDK1.0
See Also:
  `paint(java.awt.Graphics)`

### repaint

    public void repaint()

  Repaints this component.

  This method causes a call to this component's `update` method as soon as possible.

  Since:
    JDK1.0
See Also:
  `update(Graphics)`

### repaint

    public void repaint(long tm)

  Repaints the component. This will result in a call to `update` within tm milliseconds.

  Parameters:
    `tm` - maximum time in milliseconds before update
  Since:
    JDK1.0
See Also:
  `paint(java.awt.Graphics)`, `update(Graphics)`

### repaint

    public void repaint(int x,
                        int y,
                        int width,
                        int height)

  Repaints the specified rectangle of this component.

  This method causes a call to this component's `update` method as soon as possible.

  Parameters:
    `x` - the x coordinate
    `y` - the y coordinate
    `width` - the width
    `height` - the height
  Since:
    JDK1.0
See Also:
  `update(Graphics)`

### repaint

    public void repaint(long tm,
                        int x,
                        int y,
                        int width,
                        int height)

  Repaints the specified rectangle of this component within `tm` milliseconds.

  This method causes a call to this component's `update` method.

  Parameters:
    `tm` - maximum time in milliseconds before update
    `x` - the x coordinate
    `y` - the y coordinate
    `width` - the width
    `height` - the height
  Since:
    JDK1.0
See Also:
  `update(Graphics)`

### print

    public void print(Graphics g)

  Prints this component. Applications should override this method for components that must do special processing before being printed or should be printed differently than they are painted.

  The default implementation of this method calls the `paint` method.

  The origin of the graphics context, its (`0`, `0`) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

  Parameters:
    `g` - the graphics context to use for printing
  Since:
    JDK1.0
See Also:
  `paint(Graphics)`

### printAll

    public void printAll(Graphics g)

  Prints this component and all of its subcomponents.

  The origin of the graphics context, its (`0`, `0`) coordinate point, is the top-left corner of this component. The clipping region of the graphics context is the bounding rectangle of this component.

  Parameters:
    `g` - the graphics context to use for printing
  Since:
    JDK1.0
See Also:
  `print(Graphics)`

### imageUpdate

    public boolean imageUpdate(Image img,
                               int infoflags,
                               int x,
                               int y,
                               int w,
                               int h)

  Repaints the component when the image has changed. This `imageUpdate` method of an `ImageObserver` is called when more information about an image which had been previously requested using an asynchronous routine such as the `drawImage` method of `Graphics` becomes available. See the definition of `imageUpdate` for more information on this method and its arguments.

  The `imageUpdate` method of `Component` incrementally draws an image on the component as more of the bits of the image are available.

  If the system property `awt.image.incrementalDraw` is missing or has the value `true`, the image is incrementally drawn. If the system property has any other value, then the image is not drawn until it has been completely loaded.

  Also, if incremental drawing is in effect, the value of the system property `awt.image.redrawrate` is interpreted as an integer to give the maximum redraw rate, in milliseconds. If the system property is missing or cannot be interpreted as an integer, the redraw rate is once every 100ms.

  The interpretation of the `x`, `y`, `width`, and `height` arguments depends on the value of the `infoflags` argument.

  Specified by:
    `imageUpdate` in interface `ImageObserver`
  Parameters:
    `img` - the image being observed
    `infoflags` - see `imageUpdate` for more information
    `x` - the x coordinate
    `y` - the y coordinate
    `w` - the width
    `h` - the height
  Returns:
    `false` if the infoflags indicate that the image is completely loaded; `true` otherwise.
  Since:
    JDK1.0
See Also:
  `ImageObserver`, `Graphics.drawImage(Image, int, int, Color, java.awt.image.ImageObserver)`, `Graphics.drawImage(Image, int, int, java.awt.image.ImageObserver)`, `Graphics.drawImage(Image, int, int, int, int, Color, java.awt.image.ImageObserver)`, `Graphics.drawImage(Image, int, int, int, int, java.awt.image.ImageObserver)`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### createImage

    public Image createImage(ImageProducer producer)

  Creates an image from the specified image producer.

  Parameters:
    `producer` - the image producer
  Returns:
    the image produced
  Since:
    JDK1.0

### createImage

    public Image createImage(int width,
                             int height)

  Creates an off-screen drawable image to be used for double buffering.

  Parameters:
    `width` - the specified width
    `height` - the specified height
  Returns:
    an off-screen drawable image, which can be used for double buffering. The return value may be `null` if the component is not displayable. This will always happen if `GraphicsEnvironment.isHeadless()` returns `true`.
  Since:
    JDK1.0
See Also:
  `isDisplayable()`, `GraphicsEnvironment.isHeadless()`

### createVolatileImage

    public VolatileImage createVolatileImage(int width,
                                             int height)

  Creates a volatile off-screen drawable image to be used for double buffering.

  Parameters:
    `width` - the specified width.
    `height` - the specified height.
  Returns:
    an off-screen drawable image, which can be used for double buffering. The return value may be `null` if the component is not displayable. This will always happen if `GraphicsEnvironment.isHeadless()` returns `true`.
  Since:
    1.4
See Also:
  `VolatileImage`, `isDisplayable()`, `GraphicsEnvironment.isHeadless()`

### createVolatileImage

    public VolatileImage createVolatileImage(int width,
                                             int height,
                                             ImageCapabilities caps)
                                      throws AWTException

  Creates a volatile off-screen drawable image, with the given capabilities. The contents of this image may be lost at any time due to operating system issues, so the image must be managed via the `VolatileImage` interface.

  Parameters:
    `width` - the specified width.
    `height` - the specified height.
    `caps` - the image capabilities
  Returns:
    a VolatileImage object, which can be used to manage surface contents loss and capabilities.
  Throws:
    `AWTException` - if an image with the specified capabilities cannot be created
  Since:
    1.4
See Also:
  `VolatileImage`

### prepareImage

    public boolean prepareImage(Image image,
                                ImageObserver observer)

  Prepares an image for rendering on this component. The image data is downloaded asynchronously in another thread and the appropriate screen representation of the image is generated.

  Parameters:
    `image` - the `Image` for which to prepare a screen representation
    `observer` - the `ImageObserver` object to be notified as the image is being prepared
  Returns:
    `true` if the image has already been fully prepared; `false` otherwise
  Since:
    JDK1.0

### prepareImage

    public boolean prepareImage(Image image,
                                int width,
                                int height,
                                ImageObserver observer)

  Prepares an image for rendering on this component at the specified width and height.

  The image data is downloaded asynchronously in another thread, and an appropriately scaled screen representation of the image is generated.

  Parameters:
    `image` - the instance of `Image` for which to prepare a screen representation
    `width` - the width of the desired screen representation
    `height` - the height of the desired screen representation
    `observer` - the `ImageObserver` object to be notified as the image is being prepared
  Returns:
    `true` if the image has already been fully prepared; `false` otherwise
  Since:
    JDK1.0
See Also:
  `ImageObserver`

### checkImage

    public int checkImage(Image image,
                          ImageObserver observer)

  Returns the status of the construction of a screen representation of the specified image.

  This method does not cause the image to begin loading. An application must use the `prepareImage` method to force the loading of an image.

  Information on the flags returned by this method can be found with the discussion of the `ImageObserver` interface.

  Parameters:
    `image` - the `Image` object whose status is being checked
    `observer` - the `ImageObserver` object to be notified as the image is being prepared
  Returns:
    the bitwise inclusive OR of `ImageObserver` flags indicating what information about the image is currently available
  Since:
    JDK1.0
See Also:
  `prepareImage(Image, int, int, java.awt.image.ImageObserver)`, `Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)`, `ImageObserver`

### checkImage

    public int checkImage(Image image,
                          int width,
                          int height,
                          ImageObserver observer)

  Returns the status of the construction of a screen representation of the specified image.

  This method does not cause the image to begin loading. An application must use the `prepareImage` method to force the loading of an image.

  The `checkImage` method of `Component` calls its peer's `checkImage` method to calculate the flags. If this component does not yet have a peer, the component's toolkit's `checkImage` method is called instead.

  Information on the flags returned by this method can be found with the discussion of the `ImageObserver` interface.

  Parameters:
    `image` - the `Image` object whose status is being checked
    `width` - the width of the scaled version whose status is to be checked
    `height` - the height of the scaled version whose status is to be checked
    `observer` - the `ImageObserver` object to be notified as the image is being prepared
  Returns:
    the bitwise inclusive OR of `ImageObserver` flags indicating what information about the image is currently available
  Since:
    JDK1.0
See Also:
  `prepareImage(Image, int, int, java.awt.image.ImageObserver)`, `Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)`, `ImageObserver`

### setIgnoreRepaint

    public void setIgnoreRepaint(boolean ignoreRepaint)

  Sets whether or not paint messages received from the operating system should be ignored. This does not affect paint events generated in software by the AWT, unless they are an immediate response to an OS-level paint message.

  This is useful, for example, if running under full-screen mode and better performance is desired, or if page-flipping is used as the buffer strategy.

  Since:
    1.4
See Also:
  `getIgnoreRepaint()`, `#createBufferStrategy`, `BufferStrategy`, `GraphicsDevice.setFullScreenWindow(java.awt.Window)`

### getIgnoreRepaint

    public boolean getIgnoreRepaint()

  Returns:
    whether or not paint messages received from the operating system should be ignored.
  Since:
    1.4
See Also:
  `setIgnoreRepaint(boolean)`

### contains

    public boolean contains(int x,
                            int y)

  Checks whether this component "contains" the specified point, where `x` and `y` are defined to be relative to the coordinate system of this component.

  Parameters:
    `x` - the x coordinate of the point
    `y` - the y coordinate of the point
  Since:
    JDK1.1
See Also:
  `getComponentAt(int, int)`

### inside

    public boolean inside(int x,
                          int y)

  Deprecated. As of JDK version 1.1, replaced by contains(int, int).

### contains

    public boolean contains(Point p)

  Checks whether this component "contains" the specified point, where the point's x and y coordinates are defined to be relative to the coordinate system of this component.

  Parameters:
    `p` - the point
  Since:
    JDK1.1
See Also:
  `getComponentAt(Point)`

### getComponentAt

    public Component getComponentAt(int x,
                                    int y)

  Determines if this component or one of its immediate subcomponents contains the (x, y) location, and if so, returns the containing component. This method only looks one level deep. If the point (x, y) is inside a subcomponent that itself has subcomponents, it does not go looking down the subcomponent tree.

  The `locate` method of `Component` simply returns the component itself if the (x, y) coordinate location is inside its bounding box, and `null` otherwise.

  Parameters:
    `x` - the x coordinate
    `y` - the y coordinate
  Returns:
    the component or subcomponent that contains the (x, y) location; `null` if the location is outside this component
  Since:
    JDK1.0
See Also:
  `contains(int, int)`

### locate

    public Component locate(int x,
                            int y)

  Deprecated. As of JDK version 1.1, replaced by getComponentAt(int, int).

### getComponentAt

    public Component getComponentAt(Point p)

  Returns the component or subcomponent that contains the specified point.

  Parameters:
    `p` - the point
  Since:
    JDK1.1
See Also:
  `contains(int, int)`

### deliverEvent

    public void deliverEvent(Event e)

  Deprecated. As of JDK version 1.1, replaced by `dispatchEvent(AWTEvent e)`.

### dispatchEvent

    public final void dispatchEvent(AWTEvent e)

  Dispatches an event to this component or one of its sub components. Calls `processEvent` before returning for 1.1-style events which have been enabled for the `Component`.

  Parameters:
    `e` - the event

### postEvent

    public boolean postEvent(Event e)

  Deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).

  Specified by:
    `postEvent` in interface `MenuContainer`

### addComponentListener

    public void addComponentListener(ComponentListener l)

  Adds the specified component listener to receive component events from this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the component listene.
  Since:
    JDK1.1
See Also:
  `ComponentEvent`, `ComponentListener`, `removeComponentListener(java.awt.event.ComponentListener)`, `getComponentListeners()`

### removeComponentListener

    public void removeComponentListener(ComponentListener l)

  Removes the specified component listener so that it no longer receives component events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the component listener
  Since:
    JDK1.1
See Also:
  `ComponentEvent`, `ComponentListener`, `addComponentListener(java.awt.event.ComponentListener)`, `getComponentListeners()`

### getComponentListeners

    public ComponentListener[] getComponentListeners()

  Returns an array of all the component listeners registered on this component.

  Returns:
    all of this comonent's `ComponentListener`s or an empty array if no component listeners are currently registered
  Since:
    1.4
See Also:
  `addComponentListener(java.awt.event.ComponentListener)`, `removeComponentListener(java.awt.event.ComponentListener)`

### addFocusListener

    public void addFocusListener(FocusListener l)

  Adds the specified focus listener to receive focus events from this component when this component gains input focus. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the focus listener
  Since:
    JDK1.1
See Also:
  `FocusEvent`, `FocusListener`, `removeFocusListener(java.awt.event.FocusListener)`, `getFocusListeners()`

### removeFocusListener

    public void removeFocusListener(FocusListener l)

  Removes the specified focus listener so that it no longer receives focus events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the focus listener
  Since:
    JDK1.1
See Also:
  `FocusEvent`, `FocusListener`, `addFocusListener(java.awt.event.FocusListener)`, `getFocusListeners()`

### getFocusListeners

    public FocusListener[] getFocusListeners()

  Returns an array of all the focus listeners registered on this component.

  Returns:
    all of this component's `FocusListener`s or an empty array if no component listeners are currently registered
  Since:
    1.4
See Also:
  `addFocusListener(java.awt.event.FocusListener)`, `removeFocusListener(java.awt.event.FocusListener)`

### addHierarchyListener

    public void addHierarchyListener(HierarchyListener l)

  Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the hierarchy listener
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyListener`, `removeHierarchyListener(java.awt.event.HierarchyListener)`, `getHierarchyListeners()`

### removeHierarchyListener

    public void removeHierarchyListener(HierarchyListener l)

  Removes the specified hierarchy listener so that it no longer receives hierarchy changed events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the hierarchy listener
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyListener`, `addHierarchyListener(java.awt.event.HierarchyListener)`, `getHierarchyListeners()`

### getHierarchyListeners

    public HierarchyListener[] getHierarchyListeners()

  Returns an array of all the hierarchy listeners registered on this component.

  Returns:
    all of this component's `HierarchyListener`s or an empty array if no hierarchy listeners are currently registered
  Since:
    1.4
See Also:
  `addHierarchyListener(java.awt.event.HierarchyListener)`, `removeHierarchyListener(java.awt.event.HierarchyListener)`

### addHierarchyBoundsListener

    public void addHierarchyBoundsListener(HierarchyBoundsListener l)

  Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the hierarchy bounds listener
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyBoundsListener`, `removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)`, `getHierarchyBoundsListeners()`

### removeHierarchyBoundsListener

    public void removeHierarchyBoundsListener(HierarchyBoundsListener l)

  Removes the specified hierarchy bounds listener so that it no longer receives hierarchy bounds events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the hierarchy bounds listener
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyBoundsListener`, `addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)`, `getHierarchyBoundsListeners()`

### getHierarchyBoundsListeners

    public HierarchyBoundsListener[] getHierarchyBoundsListeners()

  Returns an array of all the hierarchy bounds listeners registered on this component.

  Returns:
    all of this component's `HierarchyBoundsListener`s or an empty array if no hierarchy bounds listeners are currently registered
  Since:
    1.4
See Also:
  `addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)`, `removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)`

### addKeyListener

    public void addKeyListener(KeyListener l)

  Adds the specified key listener to receive key events from this component. If l is null, no exception is thrown and no action is performed.

  Parameters:
    `l` - the key listener.
  Since:
    JDK1.1
See Also:
  `KeyEvent`, `KeyListener`, `removeKeyListener(java.awt.event.KeyListener)`, `getKeyListeners()`

### removeKeyListener

    public void removeKeyListener(KeyListener l)

  Removes the specified key listener so that it no longer receives key events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the key listener
  Since:
    JDK1.1
See Also:
  `KeyEvent`, `KeyListener`, `addKeyListener(java.awt.event.KeyListener)`, `getKeyListeners()`

### getKeyListeners

    public KeyListener[] getKeyListeners()

  Returns an array of all the key listeners registered on this component.

  Returns:
    all of this component's `KeyListener`s or an empty array if no key listeners are currently registered
  Since:
    1.4
See Also:
  `addKeyListener(java.awt.event.KeyListener)`, `removeKeyListener(java.awt.event.KeyListener)`

### addMouseListener

    public void addMouseListener(MouseListener l)

  Adds the specified mouse listener to receive mouse events from this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse listener
  Since:
    JDK1.1
See Also:
  `MouseEvent`, `MouseListener`, `removeMouseListener(java.awt.event.MouseListener)`, `getMouseListeners()`

### removeMouseListener

    public void removeMouseListener(MouseListener l)

  Removes the specified mouse listener so that it no longer receives mouse events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse listener
  Since:
    JDK1.1
See Also:
  `MouseEvent`, `MouseListener`, `addMouseListener(java.awt.event.MouseListener)`, `getMouseListeners()`

### getMouseListeners

    public MouseListener[] getMouseListeners()

  Returns an array of all the mouse listeners registered on this component.

  Returns:
    all of this component's `MouseListener`s or an empty array if no mouse listeners are currently registered
  Since:
    1.4
See Also:
  `addMouseListener(java.awt.event.MouseListener)`, `removeMouseListener(java.awt.event.MouseListener)`

### addMouseMotionListener

    public void addMouseMotionListener(MouseMotionListener l)

  Adds the specified mouse motion listener to receive mouse motion events from this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse motion listener
  Since:
    JDK1.1
See Also:
  `java.awt.event.MouseMotionEvent`, `MouseMotionListener`, `removeMouseMotionListener(java.awt.event.MouseMotionListener)`, `getMouseMotionListeners()`

### removeMouseMotionListener

    public void removeMouseMotionListener(MouseMotionListener l)

  Removes the specified mouse motion listener so that it no longer receives mouse motion events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse motion listener
  Since:
    JDK1.1
See Also:
  `java.awt.event.MouseMotionEvent`, `MouseMotionListener`, `addMouseMotionListener(java.awt.event.MouseMotionListener)`, `getMouseMotionListeners()`

### getMouseMotionListeners

    public MouseMotionListener[] getMouseMotionListeners()

  Returns an array of all the mouse motion listeners registered on this component.

  Returns:
    all of this component's `MouseMotionListener`s or an empty array if no mouse motion listeners are currently registered
  Since:
    1.4
See Also:
  `addMouseMotionListener(java.awt.event.MouseMotionListener)`, `removeMouseMotionListener(java.awt.event.MouseMotionListener)`

### addMouseWheelListener

    public void addMouseWheelListener(MouseWheelListener l)

  Adds the specified mouse wheel listener to receive mouse wheel events from this component. Containers also receive mouse wheel events from sub-components. If l is null, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse wheel listener.
  Since:
    1.4
See Also:
  `MouseWheelEvent`, `MouseWheelListener`, `removeMouseWheelListener(java.awt.event.MouseWheelListener)`, `getMouseWheelListeners()`

### removeMouseWheelListener

    public void removeMouseWheelListener(MouseWheelListener l)

  Removes the specified mouse wheel listener so that it no longer receives mouse wheel events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If l is null, no exception is thrown and no action is performed.

  Parameters:
    `l` - the mouse wheel listener.
  Since:
    1.4
See Also:
  `MouseWheelEvent`, `MouseWheelListener`, `addMouseWheelListener(java.awt.event.MouseWheelListener)`, `getMouseWheelListeners()`

### getMouseWheelListeners

    public MouseWheelListener[] getMouseWheelListeners()

  Returns an array of all the mouse wheel listeners registered on this component.

  Returns:
    all of this component's `MouseWheelListener`s or an empty array if no mouse wheel listeners are currently registered
  Since:
    1.4
See Also:
  `addMouseWheelListener(java.awt.event.MouseWheelListener)`, `removeMouseWheelListener(java.awt.event.MouseWheelListener)`

### addInputMethodListener

    public void addInputMethodListener(InputMethodListener l)

  Adds the specified input method listener to receive input method events from this component. A component will only receive input method events from input methods if it also overrides `getInputMethodRequests` to return an `InputMethodRequests` instance. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the input method listener
  Since:
    1.2
See Also:
  `InputMethodEvent`, `InputMethodListener`, `removeInputMethodListener(java.awt.event.InputMethodListener)`, `getInputMethodListeners()`, `getInputMethodRequests()`

### removeInputMethodListener

    public void removeInputMethodListener(InputMethodListener l)

  Removes the specified input method listener so that it no longer receives input method events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener `l` is `null`, no exception is thrown and no action is performed.

  Parameters:
    `l` - the input method listener
  Since:
    1.2
See Also:
  `InputMethodEvent`, `InputMethodListener`, `addInputMethodListener(java.awt.event.InputMethodListener)`, `getInputMethodListeners()`

### getInputMethodListeners

    public InputMethodListener[] getInputMethodListeners()

  Returns an array of all the input method listeners registered on this component.

  Returns:
    all of this component's `InputMethodListener`s or an empty array if no input method listeners are currently registered
  Since:
    1.4
See Also:
  `addInputMethodListener(java.awt.event.InputMethodListener)`, `removeInputMethodListener(java.awt.event.InputMethodListener)`

### getListeners

    public EventListener[] getListeners(Class listenerType)

  Returns an array of all the objects currently registered as `FooListener`s upon this `Component`. `FooListener`s are registered using the `addFooListener` method.

  You can specify the `listenerType` argument with a class literal, such as `FooListener.class`. For example, you can query a `Component` `c` for its mouse listeners with the following code:

      MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));

  If no such listeners exist, this method returns an empty array.

  Parameters:
    `listenerType` - the type of listeners requested; this parameter should specify an interface that descends from `java.util.EventListener`
  Returns:
    an array of all objects registered as `FooListener`s on this component, or an empty array if no such listeners have been added
  Throws:
    `ClassCastException` - if `listenerType` doesn't specify a class or interface that implements `java.util.EventListener`
  Since:
    1.3
See Also:
  `getComponentListeners()`, `getFocusListeners()`, `getHierarchyListeners()`, `getHierarchyBoundsListeners()`, `getKeyListeners()`, `getMouseListeners()`, `getMouseMotionListeners()`, `getMouseWheelListeners()`, `getInputMethodListeners()`, `getPropertyChangeListeners()`

### getInputMethodRequests

    public InputMethodRequests getInputMethodRequests()

  Gets the input method request handler which supports requests from input methods for this component. A component that supports on-the-spot text input must override this method to return an `InputMethodRequests` instance. At the same time, it also has to handle input method events.

  Returns:
    the input method request handler for this component, `null` by default
  Since:
    1.2
See Also:
  `addInputMethodListener(java.awt.event.InputMethodListener)`

### getInputContext

    public InputContext getInputContext()

  Gets the input context used by this component for handling the communication with input methods when text is entered in this component. By default, the input context used for the parent component is returned. Components may override this to return a private input context.

  Returns:
    the input context used by this component; `null` if no context can be determined
  Since:
    1.2

### enableEvents

    protected final void enableEvents(long eventsToEnable)

  Enables the events defined by the specified event mask parameter to be delivered to this component.

  Event types are automatically enabled when a listener for that event type is added to the component.

  This method only needs to be invoked by subclasses of `Component` which desire to have the specified event types delivered to `processEvent` regardless of whether or not a listener is registered.

  Parameters:
    `eventsToEnable` - the event mask defining the event types
  Since:
    JDK1.1
See Also:
  `processEvent(java.awt.AWTEvent)`, `disableEvents(long)`, `AWTEvent`

### disableEvents

    protected final void disableEvents(long eventsToDisable)

  Disables the events defined by the specified event mask parameter from being delivered to this component.

  Parameters:
    `eventsToDisable` - the event mask defining the event types
  Since:
    JDK1.1
See Also:
  `enableEvents(long)`

### coalesceEvents

    protected AWTEvent coalesceEvents(AWTEvent existingEvent,
                                      AWTEvent newEvent)

  Potentially coalesce an event being posted with an existing event. This method is called by `EventQueue.postEvent` if an event with the same ID as the event to be posted is found in the queue (both events must have this component as their source). This method either returns a coalesced event which replaces the existing event (and the new event is then discarded), or `null` to indicate that no combining should be done (add the second event to the end of the queue). Either event parameter may be modified and returned, as the other one is discarded unless `null` is returned.

  This implementation of `coalesceEvents` coalesces two event types: mouse move (and drag) events, and paint (and update) events. For mouse move events the last event is always returned, causing intermediate moves to be discarded. For paint events, the new event is coalesced into a complex `RepaintArea` in the peer. The new `AWTEvent` is always returned.

  Parameters:
    `existingEvent` - the event already on the `EventQueue`
    `newEvent` - the event being posted to the `EventQueue`
  Returns:
    a coalesced event, or `null` indicating that no coalescing was done

### processEvent

    protected void processEvent(AWTEvent e)

  Processes events occurring on this component. By default this method calls the appropriate `process<event type>Event` method for the given class of event.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the event
  Since:
    JDK1.1
See Also:
  `processComponentEvent(java.awt.event.ComponentEvent)`, `processFocusEvent(java.awt.event.FocusEvent)`, `processKeyEvent(java.awt.event.KeyEvent)`, `processMouseEvent(java.awt.event.MouseEvent)`, `processMouseMotionEvent(java.awt.event.MouseEvent)`, `processInputMethodEvent(java.awt.event.InputMethodEvent)`, `processHierarchyEvent(java.awt.event.HierarchyEvent)`, `processMouseWheelEvent(java.awt.event.MouseWheelEvent)`

### processComponentEvent

    protected void processComponentEvent(ComponentEvent e)

  Processes component events occurring on this component by dispatching them to any registered `ComponentListener` objects.

  This method is not called unless component events are enabled for this component. Component events are enabled when one of the following occurs:

  - A `ComponentListener` object is registered via `addComponentListener`.
  - Component events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the component event
  Since:
    JDK1.1
See Also:
  `ComponentEvent`, `ComponentListener`, `addComponentListener(java.awt.event.ComponentListener)`, `enableEvents(long)`

### processFocusEvent

    protected void processFocusEvent(FocusEvent e)

  Processes focus events occurring on this component by dispatching them to any registered `FocusListener` objects.

  This method is not called unless focus events are enabled for this component. Focus events are enabled when one of the following occurs:

  - A `FocusListener` object is registered via `addFocusListener`.
  - Focus events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the focus event
  Since:
    JDK1.1
See Also:
  `FocusEvent`, `FocusListener`, `addFocusListener(java.awt.event.FocusListener)`, `enableEvents(long)`

### processKeyEvent

    protected void processKeyEvent(KeyEvent e)

  Processes key events occurring on this component by dispatching them to any registered `KeyListener` objects.

  This method is not called unless key events are enabled for this component. Key events are enabled when one of the following occurs:

  - A `KeyListener` object is registered via `addKeyListener`.
  - Key events are enabled via `enableEvents`.

  Note that this method is not called by the event dispatch thread if the component is not the focus owner of if the component is not showing. This method is called when key events are registered via the `addKeyListener` or `enableEvents` methods but, as of release 1.4, the implementation of the AWT event dispatching thread redirects `KeyEvent` to the focus owner. Please see the Focus Specification for further information.

  If the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the key event
  Since:
    JDK1.1
See Also:
  `KeyEvent`, `KeyListener`, `addKeyListener(java.awt.event.KeyListener)`, `enableEvents(long)`, `isShowing()`

### processMouseEvent

    protected void processMouseEvent(MouseEvent e)

  Processes mouse events occurring on this component by dispatching them to any registered `MouseListener` objects.

  This method is not called unless mouse events are enabled for this component. Mouse events are enabled when one of the following occurs:

  - A `MouseListener` object is registered via `addMouseListener`.
  - Mouse events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the mouse event
  Since:
    JDK1.1
See Also:
  `MouseEvent`, `MouseListener`, `addMouseListener(java.awt.event.MouseListener)`, `enableEvents(long)`

### processMouseMotionEvent

    protected void processMouseMotionEvent(MouseEvent e)

  Processes mouse motion events occurring on this component by dispatching them to any registered `MouseMotionListener` objects.

  This method is not called unless mouse motion events are enabled for this component. Mouse motion events are enabled when one of the following occurs:

  - A `MouseMotionListener` object is registered via `addMouseMotionListener`.
  - Mouse motion events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the mouse motion event
  Since:
    JDK1.1
See Also:
  `java.awt.event.MouseMotionEvent`, `MouseMotionListener`, `addMouseMotionListener(java.awt.event.MouseMotionListener)`, `enableEvents(long)`

### processMouseWheelEvent

    protected void processMouseWheelEvent(MouseWheelEvent e)

  Processes mouse wheel events occurring on this component by dispatching them to any registered `MouseWheelListener` objects.

  This method is not called unless mouse wheel events are enabled for this component. Mouse wheel events are enabled when one of the following occurs:

  - A `MouseWheelListener` object is registered via `addMouseWheelListener`.
  - Mouse wheel events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the mouse wheel event.
  Since:
    1.4
See Also:
  `MouseWheelEvent`, `MouseWheelListener`, `addMouseWheelListener(java.awt.event.MouseWheelListener)`, `enableEvents(long)`

### processInputMethodEvent

    protected void processInputMethodEvent(InputMethodEvent e)

  Processes input method events occurring on this component by dispatching them to any registered `InputMethodListener` objects.

  This method is not called unless input method events are enabled for this component. Input method events are enabled when one of the following occurs:

  - An `InputMethodListener` object is registered via `addInputMethodListener`.
  - Input method events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the input method event
  Since:
    1.2
See Also:
  `InputMethodEvent`, `InputMethodListener`, `addInputMethodListener(java.awt.event.InputMethodListener)`, `enableEvents(long)`

### processHierarchyEvent

    protected void processHierarchyEvent(HierarchyEvent e)

  Processes hierarchy events occurring on this component by dispatching them to any registered `HierarchyListener` objects.

  This method is not called unless hierarchy events are enabled for this component. Hierarchy events are enabled when one of the following occurs:

  - An `HierarchyListener` object is registered via `addHierarchyListener`.
  - Hierarchy events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the hierarchy event
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyListener`, `addHierarchyListener(java.awt.event.HierarchyListener)`, `enableEvents(long)`

### processHierarchyBoundsEvent

    protected void processHierarchyBoundsEvent(HierarchyEvent e)

  Processes hierarchy bounds events occurring on this component by dispatching them to any registered `HierarchyBoundsListener` objects.

  This method is not called unless hierarchy bounds events are enabled for this component. Hierarchy bounds events are enabled when one of the following occurs:

  - An `HierarchyBoundsListener` object is registered via `addHierarchyBoundsListener`.
  - Hierarchy bounds events are enabled via `enableEvents`.

  Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

  Parameters:
    `e` - the hierarchy event
  Since:
    1.3
See Also:
  `HierarchyEvent`, `HierarchyBoundsListener`, `addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)`, `enableEvents(long)`

### handleEvent

    public boolean handleEvent(Event evt)

  Deprecated. As of JDK version 1.1 replaced by processEvent(AWTEvent).

### mouseDown

    public boolean mouseDown(Event evt,
                             int x,
                             int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).

### mouseDrag

    public boolean mouseDrag(Event evt,
                             int x,
                             int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).

### mouseUp

    public boolean mouseUp(Event evt,
                           int x,
                           int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).

### mouseMove

    public boolean mouseMove(Event evt,
                             int x,
                             int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).

### mouseEnter

    public boolean mouseEnter(Event evt,
                              int x,
                              int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).

### mouseExit

    public boolean mouseExit(Event evt,
                             int x,
                             int y)

  Deprecated. As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).

### keyDown

    public boolean keyDown(Event evt,
                           int key)

  Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).

### keyUp

    public boolean keyUp(Event evt,
                         int key)

  Deprecated. As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).

### action

    public boolean action(Event evt,
                          Object what)

  Deprecated. As of JDK version 1.1, should register this component as ActionListener on component which fires action events.

### addNotify

    public void addNotify()

  Makes this `Component` displayable by connecting it to a native screen resource. This method is called internally by the toolkit and should not be called directly by programs.

  Since:
    JDK1.0
See Also:
  `isDisplayable()`, `removeNotify()`

### removeNotify

    public void removeNotify()

  Makes this `Component` undisplayable by destroying it native screen resource. This method is called by the toolkit internally and should not be called directly by programs.

  Since:
    JDK1.0
See Also:
  `isDisplayable()`, `addNotify()`

### gotFocus

    public boolean gotFocus(Event evt,
                            Object what)

  Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).

### lostFocus

    public boolean lostFocus(Event evt,
                             Object what)

  Deprecated. As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).

### isFocusTraversable

    public boolean isFocusTraversable()

  Deprecated. As of 1.4, replaced by `isFocusable()`.

  Returns whether this `Component` can become the focus owner.

  Returns:
    `true` if this `Component` is focusable; `false` otherwise
  Since:
    JDK1.1
See Also:
  `setFocusable(boolean)`

### isFocusable

    public boolean isFocusable()

  Returns whether this Component can be focused.

  Returns:
    `true` if this Component is focusable; `false` otherwise.
  Since:
    1.4
See Also:
  `setFocusable(boolean)`

### setFocusable

    public void setFocusable(boolean focusable)

  Sets the focusable state of this Component to the specified value. This value overrides the Component's default focusability.

  Parameters:
    `focusable` - indicates whether this Component is focusable
  Since:
    1.4
See Also:
  `isFocusable()`

### setFocusTraversalKeys

    public void setFocusTraversalKeys(int id,
                                      Set keystrokes)

  Sets the focus traversal keys for a given traversal operation for this Component.

  The default values for a Component's focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.

  Identifier | Meaning | Default
  --- | --- | ---
  KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS | Normal forward keyboard traversal | TAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED
  KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS | Normal reverse keyboard traversal | SHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED
  KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS | Go up one focus traversal cycle | none

  To disable a traversal key, use an empty Set; Collections.EMPTY_SET is recommended.

  Using the AWTKeyStroke API, client code can specify on which of two specific KeyEvents, KEY_PRESSED or KEY_RELEASED, the focus traversal operation will occur. Regardless of which KeyEvent is specified, however, all KeyEvents related to the focus traversal key, including the associated KEY_TYPED event, will be consumed, and will not be dispatched to any Component. It is a runtime error to specify a KEY_TYPED event as mapping to a focus traversal operation, or to map the same event to multiple default focus traversal operations.

  If a value of null is specified for the Set, this Component inherits the Set from its parent. If all ancestors of this Component have null specified for the Set, then the current KeyboardFocusManager's default Set is used.

  Parameters:
    `id` - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
    `keystrokes` - the Set of AWTKeyStroke for the specified operation
  Throws:
    `IllegalArgumentException` - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or if keystrokes contains null, or if any Object in keystrokes is not an AWTKeyStroke, or if any keystroke represents a KEY_TYPED event, or if any keystroke already maps to another focus traversal operation for this Component
  Since:
    1.4
See Also:
  `getFocusTraversalKeys(int)`, `KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS`, `KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS`, `KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS`

### getFocusTraversalKeys

    public Set getFocusTraversalKeys(int id)

  Returns the Set of focus traversal keys for a given traversal operation for this Component. (See `setFocusTraversalKeys` for a full description of each key.)

  If a Set of traversal keys has not been explicitly defined for this Component, then this Component's parent's Set is returned. If no Set has been explicitly defined for any of this Component's ancestors, then the current KeyboardFocusManager's default Set is returned.

  Parameters:
    `id` - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
  Returns:
    the Set of AWTKeyStrokes for the specified operation. The Set will be unmodifiable, and may be empty. null will never be returned.
  Throws:
    `IllegalArgumentException` - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
  Since:
    1.4
See Also:
  `setFocusTraversalKeys(int, java.util.Set)`, `KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS`, `KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS`, `KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS`

### areFocusTraversalKeysSet

    public boolean areFocusTraversalKeysSet(int id)

  Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component. If this method returns `false`, this Component is inheriting the Set from an ancestor, or from the current KeyboardFocusManager.

  Parameters:
    `id` - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
  Returns:
    `true` if the the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Component; `false` otherwise.
  Throws:
    `IllegalArgumentException` - if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
  Since:
    1.4

### setFocusTraversalKeysEnabled

    public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)

  Sets whether focus traversal keys are enabled for this Component. Components for which focus traversal keys are disabled receive key events for focus traversal keys. Components for which focus traversal keys are enabled do not see these events; instead, the events are automatically converted to traversal operations.

  Parameters:
    `focusTraversalKeysEnabled` - whether focus traversal keys are enabled for this Component
  Since:
    1.4
See Also:
  `getFocusTraversalKeysEnabled()`, `setFocusTraversalKeys(int, java.util.Set)`, `getFocusTraversalKeys(int)`

### getFocusTraversalKeysEnabled

    public boolean getFocusTraversalKeysEnabled()

  Returns whether focus traversal keys are enabled for this Component. Components for which focus traversal keys are disabled receive key events for focus traversal keys. Components for which focus traversal keys are enabled do not see these events; instead, the events are automatically converted to traversal operations.

  Returns:
    whether focus traversal keys are enabled for this Component
  Since:
    1.4
See Also:
  `setFocusTraversalKeysEnabled(boolean)`, `setFocusTraversalKeys(int, java.util.Set)`, `getFocusTraversalKeys(int)`

### requestFocus

    public void requestFocus()

  Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

  This method cannot be used to set the focus owner to no Component at all. Use `KeyboardFocusManager.clearGlobalFocusOwner()` instead.

  Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to use `requestFocusInWindow` when possible.

  Since:
    JDK1.0
See Also:
  `requestFocusInWindow()`, `FocusEvent`, `addFocusListener(java.awt.event.FocusListener)`, `isFocusable()`, `isDisplayable()`, `KeyboardFocusManager.clearGlobalFocusOwner()`

### requestFocus

    protected boolean requestFocus(boolean temporary)

  Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event. If this request is denied because this Component's top-level Window cannot become the focused Window, the request will be remembered and will be granted when the Window is later focused by the user.

  This method returns a boolean value. If `false` is returned, the request is guaranteed to fail. If `true` is returned, the request will succeed unless it is vetoed, or an extraordinary event, such as disposal of the Component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value of `true` indicates that the request is likely to succeed, developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

  This method cannot be used to set the focus owner to no Component at all. Use `KeyboardFocusManager.clearGlobalFocusOwner()` instead.

  Because the focus behavior of this method is platform-dependent, developers are strongly encouraged to use `requestFocusInWindow` when possible.

  Every effort will be made to ensure that FocusEvents generated as a result of this request will have the specified temporary value. However, because specifying an arbitrary temporary state may not be implementable on all native windowing systems, correct behavior for this method can be guaranteed only for lightweight Components. This method is not intended for general use, but exists instead as a hook for lightweight Component libraries, such as Swing.

  Returns:
    `false` if the focus change request is guaranteed to fail; `true` if it is likely to succeed
  Since:
    1.4
See Also:
  `FocusEvent`, `addFocusListener(java.awt.event.FocusListener)`, `isFocusable()`, `isDisplayable()`, `KeyboardFocusManager.clearGlobalFocusOwner()`

### requestFocusInWindow

    public boolean requestFocusInWindow()

  Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

  This method returns a boolean value. If `false` is returned, the request is guaranteed to fail. If `true` is returned, the request will succeed unless it is vetoed, or an extraordinary event, such as disposal of the Component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value of `true` indicates that the request is likely to succeed, developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

  This method cannot be used to set the focus owner to no Component at all. Use `KeyboardFocusManager.clearGlobalFocusOwner()` instead.

  The focus behavior of this method can be implemented uniformly across platforms, and thus developers are strongly encouraged to use this method over `requestFocus` when possible. Code which relies on `requestFocus` may exhibit different focus behavior on different platforms.

  Returns:
    `false` if the focus change request is guaranteed to fail; `true` if it is likely to succeed
  Since:
    1.4
See Also:
  `requestFocus()`, `FocusEvent`, `addFocusListener(java.awt.event.FocusListener)`, `isFocusable()`, `isDisplayable()`, `KeyboardFocusManager.clearGlobalFocusOwner()`

### requestFocusInWindow

    protected boolean requestFocusInWindow(boolean temporary)

  Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window. This component must be displayable, visible, and focusable for the request to be granted. Every effort will be made to honor the request; however, in some cases it may be impossible to do so. Developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

  This method returns a boolean value. If `false` is returned, the request is guaranteed to fail. If `true` is returned, the request will succeed unless it is vetoed, or an extraordinary event, such as disposal of the Component's peer, occurs before the request can be granted by the native windowing system. Again, while a return value of `true` indicates that the request is likely to succeed, developers must never assume that this Component is the focus owner until this Component receives a FOCUS_GAINED event.

  This method cannot be used to set the focus owner to no Component at all. Use `KeyboardFocusManager.clearGlobalFocusOwner()` instead.

  The focus behavior of this method can be implemented uniformly across platforms, and thus developers are strongly encouraged to use this method over `requestFocus` when possible. Code which relies on `requestFocus` may exhibit different focus behavior on different platforms.

  Every effort will be made to ensure that FocusEvents generated as a result of this request will have the specified temporary value. However, because specifying an arbitrary temporary state may not be implementable on all native windowing systems, correct behavior for this method can be guaranteed only for lightweight Components. This method is not intended for general use, but exists instead as a hook for lightweight Component libraries, such as Swing.

  Returns:
    `false` if the focus change request is guaranteed to fail; `true` if it is likely to succeed
  Since:
    1.4
See Also:
  `requestFocus()`, `FocusEvent`, `addFocusListener(java.awt.event.FocusListener)`, `isFocusable()`, `isDisplayable()`, `KeyboardFocusManager.clearGlobalFocusOwner()`

### transferFocus

    public void transferFocus()

  Transfers the focus to the next component, as though this Component were the focus owner.

  Since:
    JDK1.1
See Also:
  `requestFocus()`

### getFocusCycleRootAncestor

    public Container getFocusCycleRootAncestor()

  Returns the Container which is the focus cycle root of this Component's focus traversal cycle. Each focus traversal cycle has only a single focus cycle root and each Component which is not a Container belongs to only a single focus traversal cycle. Containers which are focus cycle roots belong to two cycles: one rooted at the Container itself, and one rooted at the Container's nearest focus-cycle-root ancestor. For such Containers, this method will return the Container's nearest focus-cycle- root ancestor.

  Returns:
    this Component's nearest focus-cycle-root ancestor
  Since:
    1.4
See Also:
  `Container.isFocusCycleRoot()`

### isFocusCycleRoot

    public boolean isFocusCycleRoot(Container container)

  Returns whether the specified Container is the focus cycle root of this Component's focus traversal cycle. Each focus traversal cycle has only a single focus cycle root and each Component which is not a Container belongs to only a single focus traversal cycle.

  Parameters:
    `container` - the Container to be tested
  Returns:
    `true` if the specified Container is a focus-cycle- root of this Component; `false` otherwise
  Since:
    1.4
See Also:
  `Container.isFocusCycleRoot()`

### nextFocus

    public void nextFocus()

  Deprecated. As of JDK version 1.1, replaced by transferFocus().

### transferFocusBackward

    public void transferFocusBackward()

  Transfers the focus to the previous component, as though this Component were the focus owner.

  Since:
    1.4
See Also:
  `requestFocus()`

### transferFocusUpCycle

    public void transferFocusUpCycle()

  Transfers the focus up one focus traversal cycle. Typically, the focus owner is set to this Component's focus cycle root, and the current focus cycle root is set to the new focus owner's focus cycle root. If, however, this Component's focus cycle root is a Window, then the focus owner is set to the focus cycle root's default Component to focus, and the current focus cycle root is unchanged.

  Since:
    1.4
See Also:
  `requestFocus()`, `Container.isFocusCycleRoot()`, `Container#setFocusCycleRoot()`

### hasFocus

    public boolean hasFocus()

  Returns `true` if this `Component` is the focus owner. This method is obsolete, and has been replaced by `isFocusOwner()`.

  Returns:
    `true` if this `Component` is the focus owner; `false` otherwise
  Since:
    1.2

### isFocusOwner

    public boolean isFocusOwner()

  Returns `true` if this `Component` is the focus owner.

  Returns:
    `true` if this `Component` is the focus owner; `false` otherwise
  Since:
    1.4

### add

    public void add(PopupMenu popup)

  Adds the specified popup menu to the component.

  Parameters:
    `popup` - the popup menu to be added to the component.
  Since:
    JDK1.1
See Also:
  `remove(MenuComponent)`

### remove

    public void remove(MenuComponent popup)

  Removes the specified popup menu from the component.

  Specified by:
    `remove` in interface `MenuContainer`
  Parameters:
    `popup` - the popup menu to be removed
  Since:
    JDK1.1
See Also:
  `add(PopupMenu)`

### paramString

    protected String paramString()

  Returns a string representing the state of this component. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.

  Returns:
    a string representation of this component's state
  Since:
    JDK1.0

### toString

    public String toString()

  Returns a string representation of this component and its values.

  Overrides:
    `toString` in class `Object`
  Returns:
    a string representation of this component
  Since:
    JDK1.0

### list

    public void list()

  Prints a listing of this component to the standard system output stream `System.out`.

  Since:
    JDK1.0
See Also:
  `System.out`

### list

    public void list(PrintStream out)

  Prints a listing of this component to the specified output stream.

  Parameters:
    `out` - a print stream
  Since:
    JDK1.0

### list

    public void list(PrintStream out,
                     int indent)

  Prints out a list, starting at the specified indentation, to the specified print stream.

  Parameters:
    `out` - a print stream
    `indent` - number of spaces to indent
  Since:
    JDK1.0
See Also:
  `PrintStream.println(java.lang.Object)`

### list

    public void list(PrintWriter out)

  Prints a listing to the specified print writer.

  Parameters:
    `out` - the print writer to print to
  Since:
    JDK1.1

### list

    public void list(PrintWriter out,
                     int indent)

  Prints out a list, starting at the specified indentation, to the specified print writer.

  Parameters:
    `out` - the print writer to print to
    `indent` - the number of spaces to indent
  Since:
    JDK1.1
See Also:
  `PrintStream.println(java.lang.Object)`

### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener listener)

  Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class, including the following:
  - this Component's font ("font")
  - this Component's background color ("background")
  - this Component's foreground color ("foreground")
  - this Component's focusability ("focusable")
  - this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
  - this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
  - this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
  - this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
  Note that if this Component is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

  If listener is null, no exception is thrown and no action is performed.

  Parameters:
    `listener` - the PropertyChangeListener to be added
  See Also:
    `removePropertyChangeListener(java.beans.PropertyChangeListener)`, `getPropertyChangeListeners()`, `addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)`

### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener listener)

  Removes a PropertyChangeListener from the listener list. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of this class.

  If listener is null, no exception is thrown and no action is performed.

  Parameters:
    `listener` - the PropertyChangeListener to be removed
  See Also:
    `addPropertyChangeListener(java.beans.PropertyChangeListener)`, `getPropertyChangeListeners()`, `removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)`

### getPropertyChangeListeners

    public PropertyChangeListener[] getPropertyChangeListeners()

  Returns an array of all the property change listeners registered on this component.

  Returns:
    all of this component's `PropertyChangeListener`s or an empty array if no property change listeners are currently registered
  Since:
    1.4
See Also:
  `addPropertyChangeListener(java.beans.PropertyChangeListener)`, `removePropertyChangeListener(java.beans.PropertyChangeListener)`, `getPropertyChangeListeners(java.lang.String)`, `PropertyChangeSupport.getPropertyChangeListeners()`

### addPropertyChangeListener

    public void addPropertyChangeListener(String propertyName,
                                          PropertyChangeListener listener)

  Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following:
  - this Component's font ("font")
  - this Component's background color ("background")
  - this Component's foreground color ("foreground")
  - this Component's focusability ("focusable")
  - this Component's focus traversal keys enabled state ("focusTraversalKeysEnabled")
  - this Component's Set of FORWARD_TRAVERSAL_KEYS ("forwardFocusTraversalKeys")
  - this Component's Set of BACKWARD_TRAVERSAL_KEYS ("backwardFocusTraversalKeys")
  - this Component's Set of UP_CYCLE_TRAVERSAL_KEYS ("upCycleFocusTraversalKeys")
  Note that if this Component is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

  If listener is null, no exception is thrown and no action is performed.

  Parameters:
    `propertyName` - one of the property names listed above
    `listener` - the PropertyChangeListener to be added
  See Also:
    `#removePropertyChangeListener(java.lang.String)`, `getPropertyChangeListeners(java.lang.String)`, `addPropertyChangeListener(java.beans.PropertyChangeListener)`

### removePropertyChangeListener

    public void removePropertyChangeListener(String propertyName,
                                             PropertyChangeListener listener)

  Removes a PropertyChangeListener from the listener list for a specific property. This method should be used to remove PropertyChangeListeners that were registered for a specific bound property.

  If listener is null, no exception is thrown and no action is performed.

  Parameters:
    `propertyName` - a valid property name
    `listener` - the PropertyChangeListener to be removed
  See Also:
    `#addPropertyChangeListener(java.lang.String)`, `getPropertyChangeListeners(java.lang.String)`, `removePropertyChangeListener(java.beans.PropertyChangeListener)`

### getPropertyChangeListeners

    public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)

  Returns an array of all the listeners which have been associated with the named property.

  Returns:
    all of the `PropertyChangeListeners` associated with the named property or an empty array if no listeners have been added
  Since:
    1.4
See Also:
  `#addPropertyChangeListener(java.lang.String)`, `#removePropertyChangeListener(java.lang.String)`, `getPropertyChangeListeners()`

### firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      Object oldValue,
                                      Object newValue)

  Support for reporting bound property changes for Object properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value

### firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      boolean oldValue,
                                      boolean newValue)

  Support for reporting bound property changes for boolean properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value

### firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      int oldValue,
                                      int newValue)

  Support for reporting bound property changes for integer properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value

### setComponentOrientation

    public void setComponentOrientation(ComponentOrientation o)

  Sets the language-sensitive orientation that is to be used to order the elements or text within this component. Language-sensitive `LayoutManager` and `Component` subclasses will use this property to determine how to lay out and draw components.

  At construction time, a component's orientation is set to `ComponentOrientation.UNKNOWN`, indicating that it has not been specified explicitly. The UNKNOWN orientation behaves the same as `ComponentOrientation.LEFT_TO_RIGHT`.

  To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, use `applyComponentOrientation`.

  See Also:
    `ComponentOrientation`

### getComponentOrientation

    public ComponentOrientation getComponentOrientation()

  Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component. `LayoutManager` and `Component` subclasses that wish to respect orientation should call this method to get the component's orientation before performing layout or drawing.

  See Also:
    `ComponentOrientation`

### applyComponentOrientation

    public void applyComponentOrientation(ComponentOrientation orientation)

  Sets the `ComponentOrientation` property of this component and all components contained within it.

  Parameters:
    `orientation` - the new component orientation of this component and the components contained within it.
  Throws:
    `NullPointerException` - if `orientation` is null.
  Since:
    1.4
See Also:
  `setComponentOrientation(java.awt.ComponentOrientation)`, `getComponentOrientation()`

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Gets the `AccessibleContext` associated with this `Component`. The method implemented by this base class returns null. Classes that extend `Component` should implement this method to return the `AccessibleContext` associated with the subclass.

  Returns:
    the `AccessibleContext` of this `Component`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.